package com.sunday.pinxinghui.network;

import com.sunday.common.model.ResultDO;
import com.sunday.common.model.Version;
import com.sunday.pinxinghui.entity.Address;
import com.sunday.pinxinghui.entity.AmountDetail;
import com.sunday.pinxinghui.entity.Brand;
import com.sunday.pinxinghui.entity.CartConfirm;
import com.sunday.pinxinghui.entity.CartItem;
import com.sunday.pinxinghui.entity.Comment;
import com.sunday.pinxinghui.entity.ExpressInfo;
import com.sunday.pinxinghui.entity.Fans;
import com.sunday.pinxinghui.entity.HeadData;
import com.sunday.pinxinghui.entity.Images;
import com.sunday.pinxinghui.entity.IndexCategory;
import com.sunday.pinxinghui.entity.IndexProduct;
import com.sunday.pinxinghui.entity.LifeData;
import com.sunday.pinxinghui.entity.LimitTime;
import com.sunday.pinxinghui.entity.Member;
import com.sunday.pinxinghui.entity.Message;
import com.sunday.pinxinghui.entity.Nums;
import com.sunday.pinxinghui.entity.Order;
import com.sunday.pinxinghui.entity.OrderCreate;
import com.sunday.pinxinghui.entity.OrderNums;
import com.sunday.pinxinghui.entity.PrePay;
import com.sunday.pinxinghui.entity.Product;
import com.sunday.pinxinghui.entity.ProductCategory;
import com.sunday.pinxinghui.entity.ProductDetail;
import com.sunday.pinxinghui.entity.ProductNormal;
import com.sunday.pinxinghui.entity.Province;
import com.sunday.pinxinghui.entity.RefundDetail;
import com.sunday.pinxinghui.entity.Rule;
import com.sunday.pinxinghui.entity.ServicePlace;
import com.sunday.pinxinghui.entity.ShopDetail;
import com.sunday.pinxinghui.entity.Sign;
import com.sunday.pinxinghui.entity.SignDay;
import com.sunday.pinxinghui.entity.Voucher;

import java.util.List;

import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;

import static com.umeng.analytics.pro.x.F;


/**
 * Created by 刘涛 on 2017/8/7.
 */

public interface ApiService {


    /**
     * 发送验证码
     * 验证码类型 1注册 2登录 3修改登录密码 4修改支付密码/绑定手机
     */
    @FormUrlEncoded
    @POST("/mobile/code/sendCode")
    Call<ResultDO> sendCode(@Field("memberId") Long memberId, @Field("mobile") String mobile, @Field("type") int type);

    /**
     * 验证验证码
     */
    @FormUrlEncoded
    @POST("/mobile/code/validateCode")
    Call<ResultDO> validateCode(@Field("mobile") String mobile, @Field("code") String code);

    /**
     * 注册 code=2:账号已存在;code=3:验证码错误
     */
    @FormUrlEncoded
    @POST("/mobile/member/reg")
    Call<ResultDO<Member>> register(@Field("mobile") String mobile, @Field("code") String code, @Field("password") String password);


    /**
     * 设置/修改支付密码
     */
    @FormUrlEncoded
    @POST("/mobile/member/updatePayPassword")
    Call<ResultDO<Member>> updatePayPassword(@Field("memberId") long memberId, @Field("code") String code, @Field("payPassword") String payPassword);


    /**
     * 修改登陆密码
     */
    @FormUrlEncoded
    @POST("/mobile/member/updatePassword")
    Call<ResultDO> updatePassword(@Field("memberId") Long memberId, @Field("code") String code, @Field("newPassword") String newPassword);


    /**
     * 忘记登录密码
     */
    @FormUrlEncoded
    @POST("/mobile/member/forgetPassword")
    Call<ResultDO> forgetPassword(@Field("mobile") String mobile, @Field("code") String code, @Field("password") String password);


    /**
     * 登录
     * 登录方式 1手机号码(密码) 2微信 3手机号码(验证码)
     */
    @FormUrlEncoded
    @POST("/mobile/member/login")
    Call<ResultDO<Member>> login(@Field("type") int type, @Field("mobile") String mobile, @Field("code") String code, @Field("password") String password,
                                 @Field("unionid") String unionid, @Field("nickName") String nickName, @Field("sex") Integer sex,
                                 @Field("headimgurl") String headimgurl);

    /**
     * 微信登录绑定手机号
     */
    @FormUrlEncoded
    @POST("/mobile/member/wxBindMobile")
    Call<ResultDO<Member>> wxBindMobile(@Field("memberId") long memberId, @Field("mobile") String mobile, @Field("password") String password, @Field("code") String code);


    /**
     * 首页产品一级分类
     */
    @POST("/mobile/index/category")
    Call<ResultDO<List<IndexCategory>>> getIndexCategory();

    /**
     * 轮播图和秒杀产品
     */
    @POST("/mobile/index/headData")
    Call<ResultDO<HeadData>> getIndexHeadData();




    /**
     * 获取限时购的时间设置
     */
    @POST("/mobile/limitBuy/getLimitBuyTime")
    Call<ResultDO<List<LimitTime>>> getLimitBuyTime();

    /**
     * 分页获取限时购产品
     */
    @FormUrlEncoded
    @POST("/mobile/limitBuy/getLimitBuyProduct")
    Call<ResultDO<List<IndexProduct>>> getLimitBuyProduct(@Field("timeId") int timeId, @Field("isIndex") Integer isIndex,
                                                          @Field("page") int page,
                                                          @Field("rows") int rows);

    /**
     * 分页获取秒杀产品
     */
    @FormUrlEncoded
    @POST("/mobile/limitBuy/getLimitCountProduct")
    Call<ResultDO<List<IndexProduct>>> getMiaoShaProducts(@Field("page") int page,
                                                          @Field("rows") int rows);


    /**
     * 产品所有分类
     */
    @POST("/mobile/product/category/getCategory")
    Call<ResultDO<List<IndexCategory>>> getCategory();

    /**
     * 产品二级分类
     */
    @FormUrlEncoded
    @POST("/mobile/product/category/getChildrenCategory")
    Call<ResultDO<List<IndexCategory>>> getChildrenCategory(@Field("catId") int catId);

    /**
     *
     */
    @FormUrlEncoded
    @POST("/mobile/product/productList")
    Call<ResultDO<List<Product>>> getProductList(@Field("keyword") String keyword, @Field("pcatId") Integer pcatId,
                                                 @Field("catId") Integer catId, @Field("isNew") Integer isNew,
                                                 @Field("memberId") long memberId, @Field("sort") Integer sort,
                                                 @Field("page") int page, @Field("rows") int rows,
                                                 @Field("brandId") Integer brandId);

    /**
     * 购物车
     */
    @FormUrlEncoded
    @POST("/mobile/carItem/getMemberCars")
    Call<ResultDO<List<CartItem>>> getCarts(@Field("memberId") long memberId);

    /**
     * 购物车
     * 更改购物车中产品的数量
     */
    @FormUrlEncoded
    @POST("/mobile/carItem/updateNum")
    Call<ResultDO> updateNum(@Field("carId") long carId, @Field("num") String num);

    /**
     * 删除购物车中产品的数量
     */
    @FormUrlEncoded
    @POST("/mobile/carItem/delete")
    Call<ResultDO> deleteCart(@Field("carIds") String carIds);

    /**
     * 添加产品到购物车
     */
    @FormUrlEncoded
    @POST("/mobile/carItem/addProduct")
    Call<ResultDO> addCart(@Field("productId") long productId, @Field("memberId") long memberId,
                           @Field("normalId") Integer normalId, @Field("num") int num);

    /**
     * 立即购买确认订单
     */
    @FormUrlEncoded
    @POST("/mobile/order/buyNowConfirmOrder")
    Call<ResultDO<CartConfirm>> buyNowConfirmOrder(@Field("productId") long productId, @Field("num") int num,
                                                   @Field("normalId") Integer normalId, @Field("memberId") long memberId, @Field("addressId") Integer addressId);


    /**
     * 统计会员购物车中产品的总数
     */
    @FormUrlEncoded
    @POST("/mobile/carItem/totalNum")
    Call<ResultDO<Integer>> getCartNum(@Field("memberId") long memberId);


    /**
     * 购物车结算
     */
    @FormUrlEncoded
    @POST("/mobile/order/carToOrderConfirmOrder")
    Call<ResultDO<CartConfirm>> countCart(@Field("carIds") String carIds, @Field("memberId") long memberId);

    /**
     * 购物车转订单
     *
     * @param pledgeMethod 抵扣方式 1积分 (非必传)
     * @param isSince      是否自提
     */
    @FormUrlEncoded
    @POST("/mobile/order/carToOrder")
    Call<ResultDO<OrderCreate>> carToOrder(@Field("carIds") String carIds, @Field("memberId") long memberId,
                                           @Field("addressId") int addressId, @Field("pledgeMethod") Integer pledgeMethod,
                                           @Field("memos") String memos, @Field("serviceId") Integer serviceId,
                                           @Field("isSince") Integer isSince, @Field("couponId") Integer couponId);

    /**
     * 立即购买生成订单
     *
     * @param pledgeMethod 抵扣方式 1积分 (非必传)
     * @param isSince      是否自提
     */
    @FormUrlEncoded
    @POST("/mobile/order/buyNowCreateOrder")
    Call<ResultDO<OrderCreate>> buyNowCreateOrder(@Field("productId") long productId, @Field("num") int num,
                                                  @Field("normalId") Integer normalId, @Field("memberId") long memberId,
                                                  @Field("addressId") int addressId, @Field("pledgeMethod") Integer pledgeMethod,
                                                  @Field("memo") String memo, @Field("serviceId") Integer serviceId,
                                                  @Field("isSince") Integer isSince, @Field("couponId") Integer couponId);

    /**
     * 地址列表
     */
    @FormUrlEncoded
    @POST("/mobile/address/memberAddresses")
    Call<ResultDO<List<Address>>> getAddrList(@Field("memberId") long memberId);

    /**
     * 设置默认地址
     */
    @FormUrlEncoded
    @POST("/mobile/address/setDefaultAddress")
    Call<ResultDO> setAddrDefault(@Field("memberId") long memberId, @Field("addressId") int addressId);

    /**
     * 删除收货地址
     */
    @FormUrlEncoded
    @POST("/mobile/address/deleteAddress")
    Call<ResultDO> delAddr(@Field("addressId") int addressId);


    /**
     * 新增或修改地址列表
     */
    @FormUrlEncoded
    @POST("/mobile/address/addAddress")
    Call<ResultDO<Address>> saveAddr(@Field("memberId") long memberId, @Field("provinceId") int provinceId,
                                     @Field("cityId") int cityId, @Field("districtId") int districtId,
                                     @Field("streetId") int streetId, @Field("address") String address,
                                     @Field("name") String name, @Field("mobile") String mobile,
                                     @Field("addressId") Integer addressId);

    /**
     * 根据收货地址经纬度获取获取附近的配送点(服务点)
     */
    @FormUrlEncoded
    @POST("/mobile/address/getService")
    Call<ResultDO<List<ServicePlace>>> getService(@Field("addressId") Integer addressId, @Field("lng") String lng,
                                                  @Field("lat") String lat, @Field("cityId") Integer cityId);


    /**
     * 获取地址详情
     */
    @FormUrlEncoded
    @POST("/mobile/address/getAddress")
    Call<ResultDO<Address>> getAdressDetail(@Field("addressId") int addressId);


    /**
     * 订单列表
     *
     * @param status 订单状态 不传取所有 0待付款 1已付款待发货 2/待收货/带自提 3已收货 5售后 10已评论
     */
    @FormUrlEncoded
    @POST("/mobile/order/myOrder")
    Call<ResultDO<List<Order>>> getOrderList(@Field("memberId") long memberId, @Field("status") Integer status,
                                             @Field("page") int page, @Field("rows") int rows);

    /**
     * 订单详情
     *
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/order/orderDetail")
    Call<ResultDO<Order>> getOrderDetail(@Field("orderId") long orderId, @Field("orderItemId") Long orderItemId);

    /**
     * 删除订单
     *
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/order/deleteOrder")
    Call<ResultDO> delOrder(@Field("orderId") long orderId, @Field("memberId") long memberId);

    /**
     * 取消订单
     *
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/order/cancelOrder")
    Call<ResultDO> cancelOrder(@Field("orderId") long orderId, @Field("memberId") long memberId);

    /**
     * 确认收货
     *
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/order/confirmGet")
    Call<ResultDO> confirmRecieve(@Field("orderId") long orderId, @Field("memberId") long memberId);

    /**
     * 提交售后申请
     *
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/order/customerService/apply")
    Call<ResultDO> applyRefund(@Field("orderId") long orderId, @Field("type") int type,
                               @Field("reason") String reason, @Field("mobile") String mobile,
                               @Field("desc") String desc, @Field("amount") String amount,
                               @Field("images") String images);

    /**
     * 撤销申请
     *
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/order/customerService/cancelRefund")
    Call<ResultDO> cancelRefund(@Field("customerServiceId") int customerServiceId);

    /**
     * 申请进度
     *
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/order/customerService/getCustomerServiceInfo")
    Call<ResultDO<RefundDetail>> getCustomerServiceInfo(@Field("orderId") long orderId);


    /**
     * 单笔订单发起支付
     *
     * @param payMethod   1余额 2微信 3支付宝
     * @param payPassword 支付密码(MD5)
     */
    @FormUrlEncoded
    @POST("/mobile/order/singleOrderPay")
    Call<ResultDO> getOrderPay(@Field("orderId") long orderId, @Field("payMethod") int payMethod,
                               @Field("payPassword") String payPassword);


    /**
     * 图片上传
     *
     * @param
     * @return
     */
    @Multipart
    @POST("/mobile/imageUpload/saveImages")
    Call<ResultDO<List<Images>>> saveImages(@Part("images") RequestBody images);

    /**
     * 图片上传
     *
     * @param
     * @return
     */
    @Multipart
    @POST("/mobile/imageUpload/saveImage")
    Call<ResultDO<Images>> uploadImage(@Part("image") RequestBody image);

    /**
     * 发表评论
     *
     * @param orderId
     * @param memberId
     * @param productIds
     * @param contents
     * @param images
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/product/comment/doComment")
    Call<ResultDO> doComment(@Field("orderId") long orderId,
                             @Field("memberId") long memberId,
                             @Field("productIds") String productIds,
                             @Field("expressScores") String expressScores,
                             @Field("serviceScores") String serviceScores,
                             @Field("contents") String contents,
                             @Field("images") String images);

    /**
     * 资金明细
     *
     * @param type 类型 1余额 2积分
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/member/amountDetail")
    Call<ResultDO<List<AmountDetail>>> getAmountList(@Field("memberId") long memberId, @Field("type") int type,
                                                     @Field("page") int page, @Field("rows") int rows);

    /**
     * 根据id获取会员信息
     *
     * @param
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/member/getMember")
    Call<ResultDO<Member>> getMember(@Field("memberId") long memberId);

    /**
     * 获取签到列表
     *
     * @param
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/sign/list")
    Call<ResultDO<Sign>> getSignList(@Field("memberId") long memberId);

    /**
     * 签到
     *
     * @param
     * @param
     */
    @FormUrlEncoded
    @POST("/mobile/sign/sign")
    Call<ResultDO<Sign>> sign(@Field("memberId") long memberId);


    /**
     * 获取省
     */
    @POST("/mobile/city/getProvinces")
    Call<ResultDO<List<Province>>> getProvince();

    /**
     * 获取市
     */
    @FormUrlEncoded
    @POST("/mobile/city/getCities")
    Call<ResultDO<List<Province>>> getCity(@Field("provinceId") int provinceId);

    /**
     * 获取区
     */
    @FormUrlEncoded
    @POST("/mobile/city/getDistricts")
    Call<ResultDO<List<Province>>> getDistrict(@Field("cityId") int cityId);

    /**
     * 获取街道
     */
    @FormUrlEncoded
    @POST("/mobile/city/getStreets")
    Call<ResultDO<List<Province>>> getStreet(@Field("districtId") int districtId);


    /**
     * 获取全部城市
     */

    @POST("/mobile/city/getAllCitys")
    Call<ResultDO<List<Province>>> getAllCitys();

    /**
     * 获取全部城市(定位用)
     */

    @POST("/mobile/city/getAllCitys1")
    Call<ResultDO<List<Province>>> getAllCity();

    /**
     * 获取 我的卡券 type: 1优惠券 2电子券
     */
    @FormUrlEncoded
    @POST("/mobile/member/myCoupons")
    Call<ResultDO<List<Voucher>>> getVoucherList(@Field("memberId") long memberId,
                                                 @Field("type") int type, @Field("status") Integer status,
                                                 @Field("amount") Double amount);

    /**
     * 使用电子券
     */
    @FormUrlEncoded
    @POST("/mobile/life/useCoupon")
    Call<ResultDO> useCoupon(@Field("memberCouponId") int memberCouponId);

    /**
     * 统计订单数量
     */
    @FormUrlEncoded
    @POST("/mobile/order/orderCount")
    Call<ResultDO<OrderNums>> getOrderCount(@Field("memberId") long memberId);

    /**
     * 获取生活圈数据
     */
    @FormUrlEncoded
    @POST("/mobile/life/data")
    Call<ResultDO<LifeData>> getLifeData(@Field("memberId") long memberId);


    /**
     * 根据生活分类id获取店铺
     */
    @FormUrlEncoded
    @POST("/mobile/life/getShopByLifeCatId")
    Call<ResultDO<List<LifeData.ShopsBean>>> getShopByLifeCatId(@Field("lifeCatId") Integer lifeCatId, @Field("page") int page,
                                                                @Field("rows") int rows, @Field("name") String name);

    /**
     * 店铺详情
     */
    @FormUrlEncoded
    @POST("/mobile/life/shopDetail")
    Call<ResultDO<ShopDetail>> getShopDetail(@Field("shopId") int shopId, @Field("memberId") long memberId);


    /**
     * 电子券兑换
     */
    @FormUrlEncoded
    @POST("/mobile/life/couponExchange")
    Call<ResultDO> couponExchange(@Field("couponId") int couponId, @Field("memberId") long memberId);


    /**
     * 单笔订单发起支付
     */
    @FormUrlEncoded
    @POST("/mobile/order/singleOrderPay")
    Call<ResultDO<PrePay>> getPayInfo(@Field("orderId") long orderId, @Field("payMethod") int payMethod,
                                      @Field("payPassword") String payPassword);

    /**
     * 产品详情
     */
//    @FormUrlEncoded
//    @GET("/mobile/product/productDetail")
//    Call<ResultDO<ProductDetail>> getProductDetail(@Field("productId") long productId, @Field("memberId") Long memberId);

    /**
     * 产品详情
     */
    @GET("/mobile/product/productDetail")
    Call<ResultDO<ProductDetail>> getProductDetail(@Query("productId") long productId, @Query("memberId") Long memberId);

    /**
     * 获取规格属性值下的库存价格信息
     *
     * @param productId
     * @param valueIds
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/product/getNormal")
    Call<ResultDO<ProductNormal>> getNormal(@Field("productId") long productId,
                                            @Field("valueIds") String valueIds, @Field("memberId") Long memberId);

    /**
     * 评论列表
     *
     * @param productId
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/product/comment/getComments")
    Call<ResultDO<List<Comment>>> getComments(@Field("productId") long productId, @Field("page") int page, @Field("rows") int rows);

    /**
     * fans列表
     *
     * @param
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/member/myRecMember")
    Call<ResultDO<List<Fans>>> getFans(@Field("memberId") long memberId, @Field("pageNo") int pageNo, @Field("pageSize") int pageSize);

    /**
     * 列表
     *
     * @param
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/collect/collects")
    Call<ResultDO<List<Product>>> getCollections(@Field("memberId") long memberId, @Field("page") int page, @Field("rows") int rows);


    /**
     * @param
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/collect/delete")
    Call<ResultDO> deleteCollection(@Field("objIds") String objIds, @Field("memberId") long memberId);


    /**
     * 收藏/取消收藏
     *
     * @param
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/collect/doCollect")
    Call<ResultDO> doCollect(@Field("objId") Long objId, @Field("memberId") long memberId);


    /**
     * 修改用户信息
     *
     * @param memberId
     * @param
     * @param
     * @param
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/member/update")
    Call<ResultDO<Member>> updateInfo(@Field("memberId") long memberId, @Field("nickName") String nickName, @Field("logo") String logo);


    /**
     * 退出删除tokend
     */
    @FormUrlEncoded
    @POST("/mobile/appclient/cleanClientId")
    Call<ResultDO> deleteClientId(@Field("memberId") long memberId);

    /**
     * 充值金额
     */
    @FormUrlEncoded
    @POST("/mobile/coffers/recharge")
    Call<ResultDO<PrePay>> recharge(@Field("memberId") long memberId, @Field("payMethod") int payMethod, @Field("amount") String amount);

    /**
     * 电子券详情
     */
    @FormUrlEncoded
    @POST("/mobile/life/couponDetail")
    Call<ResultDO<ProductDetail>> couponDetail(@Field("couponId") int couponId, @Field("memberId") long memberId);

    /**
     * 电子券评价
     */
    @FormUrlEncoded
    @POST("/mobile/life/couponComment")
    Call<ResultDO> couponComment(@Field("couponId") int couponId, @Field("memberId") long memberId,
                                 @Field("score") int score, @Field("content") String content,
                                 @Field("images") String images);

    /**
     * 电子券评价
     */
    @FormUrlEncoded
    @POST("/mobile/life/getCouponComment")
    Call<ResultDO<List<Comment>>> getCouponComment(@Field("couponId") int couponId, @Field("page") int page, @Field("rows") int rows);

    /**
     * 积分规则
     */

    @POST("/mobile/sign/scoreRole")
    Call<ResultDO<Rule>> getScoreRule();


    /**
     * 获取品牌信息
     */
    @FormUrlEncoded
    @POST("/mobile/product/category/getBrands")
    Call<ResultDO<List<Brand>>> getBrands(@Field("catId") int catId);


    /**
     *
     */
    @FormUrlEncoded
    @POST("/mobile/order/getExpressInfo")
    Call<ResultDO<List<ExpressInfo>>> getExpressInfo(@Field("orderId") long orderId);


    /**
     * 推送 登录保存tokend
     *
     * @param type 1:Android 2:IOS
     */
    @FormUrlEncoded
    @POST("/mobile/appclient/saveAppClientId")
    Call<ResultDO> upLoadClientId(@Field("memberId") long memberId, @Field("clientId") String clientId, @Field("type") int type);

    /**
     * 消息盒子
     *
     * @param type    1物流消息
     * @param isClear 是否清除未读消息 1是 其他否
     */
    @FormUrlEncoded
    @POST("/mobile/message/messageRecords")
    Call<ResultDO<List<Message>>> getMessageList(@Field("memberId") long memberId, @Field("type") int type,
                                                 @Field("isClear") int isClear, @Field("page") int page, @Field("rows") int rows);

    /**
     * 新消息总数
     */
    @FormUrlEncoded
    @POST("/mobile/message/totalMessageCount")
    Call<ResultDO<Nums>> totalMessageCount(@Field("memberId") long memberId);


    /**
     * @param type        1，安卓，2，IOS
     * @param versionCode
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/apk/getApkInfo")
    Call<ResultDO<Version>> checkVersion(@Field("versionCode") int versionCode, @Field("type") int type);


    /**
     * 统计会员购物车中产品的总数
     *
     * @param
     * @param
     * @return
     */
//    @FormUrlEncoded
//    @GET("/mobile/member/cartNum")
//    Call<ResultDO<Nums>> getCartsNum(@Field("memberId") long memberId);

    /**
     * 统计会员购物车中产品的总数
     *
     * @param
     * @param
     * @return
     */
    @GET("/mobile/member/cartNum")
    Call<ResultDO<Nums>> getCartsNum(@Query("memberId") long memberId);


    /**
     * 提现
     *
     * @param
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/mobile/member/withdraw")
    Call<ResultDO> withdraw(@Field("memberId") long memberId,@Field("zfb")String zfb,@Field("money")String money);


}
